package com.kcwoo.shaokun.rxjavalearning.arc

import android.arch.lifecycle.LiveData
import android.os.Handler
import android.os.Message
import android.util.Log

/**
 * Created by kevin on 2017/11/8.
 *  step one small every day
 */
class UserLiveData : LiveData<User>() {

    val handler = object : Handler() {
        override fun handleMessage(msg: Message?) {
            user.age += 1
            sendEmptyMessageDelayed(1, 2000)
            //在主线程 调用setValue 在子线程  调用 postSetValue 则可以数据被观察
            value = user
        }

    }

    val user = User("akun", 18)


    fun add() {
        handler.sendEmptyMessage(1)
        Log.d("akun", "add sendEmptyMessage")
    }


    override fun onActive() {
        //当ui显示的时候 自动执行
        add()
    }

    override fun onInactive() {
        // ui不显示的时候  自动执行
        handler.removeMessages(1)
    }

}